// 导入vue
import Vue from "vue";
// 导入vuex
import Vuex from "vuex";
// 导入本地存储工具方法
import { setItem, getItem } from "@/utils/storage";
// 给vue安装vuex插件
Vue.use(Vuex);
// 实例化一个vuex仓库实例
const userKey = "TOUTIAO_USER";
const store = new Vuex.Store({
  // 共享数据
  state: {
    user: getItem(userKey) || {},
  },
  // 快捷访问
  getters: {
    token: (state) => state.user.token,
  },
  // 同步修改
  mutations: {
    // 2个形参
    // 形参1是state 形参2是调用这个方法传入的数据
    setUser(state, data) {
      // 存储到state
      state.user = data;
      // 存储到本地
      setItem(userKey, data);
    },
  },
  // 异步修改
  actions: {},
  // 模块化
  modules: {},
});
export default store;
